Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2017-AAAIAI-Robust Loss Functions under Label Noise for Deep Neural Networks.

https://arxiv.org/pdf/1712.09482

Related Works

Noisy Labelsについての全体的なものはこちらを参照。 📄Arrow icon of a page link2020-Survey-A Survey of Label-noise Representation Learning: Past, Present and Future

  • データのラベルをきれいにする Data Cleaningでは、間違っていると思われるラベルを除去する。
  • 未知の真のラベルを隠れ変数として扱い、それを得るための生成モデルを構築する。
  • (この論文では)損失関数だけを変更して、ノイズが来てもうまく学習できるような損失関数を選ぶ。
    • 01損失は、対称的なラベルノイズに強いらしい。

先行研究はBinary Classificationについてだったが、この論文ではMulti-class Classificationについて考える。

問題設定

  • データはxRd\mathbf{x} \in \mathbb{R}^dで、ラベルはy{1,,k}y \in \{1, \cdots, k \}
  • 識別器はf:RdRkf : \mathbb{R}^d \to \mathbb{R}^kである。
  • 損失関数はL:Rk×YR+L: \mathbb{R}^k \times Y \to \mathbb{R}^+である。
  • 以下のような目標関数の最小化を目指すのが学習である。
RL(f)=E(x,y)[L(f(x),y)]R_L(f) = \mathbb{E}_{(\mathbf{x}, y)} [L(f(\mathbf{x}), y)]

Noiseの定義

各データが、i.i.d.で一定の確率で別のラベルに置き換わることによって、Noisy Labelな問題設定が起きる。ノイズの置き換えのやり方は、対称、非対称の二種類がある。前述のサーベイ参照。

ijηˉxj=ηx\sum_{i \ne j} \bar{\eta}_{\mathbf{x} j} = \eta_\mathbf{x}。間違う率の合算はこのようにおく。Ground Truthのラベルはyxy_{\mathbf{x}}とする。

Image in a image block

このフレームワークで、

  • 対称な損失はηx=η,jyxηˉxj=η/(k1)\eta_{\mathbf{x}} = \eta, \forall j \neq y_{\mathbf{x}} \bar{\eta}_{\mathbf{x}j} = \eta / (k - 1)となる。

そして、ノイズがあるときの最適化というのは以下のようになる。

Image in a image block

それぞれの全域最適学習器f,fη f^*, f^~_\etaについて、両方の学習器の予測を同じpred\text{pred}に入れて、それで識別をしてもらう(GANのDiscriminatorみたい)。それで、理論上完全な分離ができるのであれば、Noise Tolerantである

Image in a image block

理論的な分析結果

まず、損失関数が対称的であるというのを以下のように定義する。

どのような識別器、データに対しても、予測されたすべてのクラスについての損失を足し合わせると、定数になる。

i=1kL(f(x),i)=C,xX,f\sum_{i=1}^k L(f(\mathbf{x}), i) = C, \forall \mathbf{x} \in X, \forall f

定理1

多クラス分類において、対称的な損失はη<(11/k)\eta < (1 - 1/k)であれば、対称的、一様的なラベルノイズに強い。

η\etaはラベルを間違えてしまう確率の合計。これが全クラス数kkに依存した11/k1-1/k以下、つまりほとんどの時である。

例として、Binary Classificationでは、5割以上間違えればどうがんばってもNoisy Labelの問題は解けないが、それ以下の間違え率ならば解ける。

証明

クリアなデータの時の損失は、RL(f)=Ex,yx[L(f(x),yx)]R_L(f) = \mathbb{E}_{\mathbf{x}, y_{\mathbf{x}}} [L(f(\mathbf{x}), y_\mathbf{x})]である。

Image in a image block
  • 2行目は、条件付確率の分解をしている。p(x,y^x)=p(x)p(yxx)p(y^xx,yx)p(\mathbf{x}, \hat{y}_\mathbf{x}) = p(\mathbf{x}) p(y_\mathbf{x}|\mathbf{x}) p(\hat{y}_\mathbf{x} | \mathbf{x}, y_\mathbf{x})として、ラベルをNoisyなものに置き換えている。
    • 上のような分解では、右辺は結局p(x,yx,y^x)p(\mathbf{x}, y_\mathbf{x}, \hat{y}_\mathbf{x})となるが、ノイズラベルy^x\hat{y}_\mathbf{x}はサンプルの同時分布p(x,yx)p(\mathbf{x}, y_\mathbf{x})に従い生成するので、結局依存関係を持つy^x\hat{y}_\mathbf{x}を同時分布に組み込んだだけ
  • 3行目は対称ノイズの定義で展開している。
  • 4行目は第一項は通常のp(x,y)p(\mathbf{x}, y)についての期待値の積分で、これは通常の損失RL(f)R_L(f)である。第二項は対称的な損失であれば、合算したCCから正解を引いたものに等しい
    • 対称的という条件は、間違ったときの損失の上界を抑えるためにある。
  • 5行目は項をまとめると得られる。
    Image in a image block

このRLη(f)R_L^\eta(f)を代入すると、

これは、Noisyなデータで学習したとき、あ

定理2

対称な損失関数LLについて、識別器がL(f)=0L(f^*)=0を満たす=ちゃんとラベルに完全にフィットした学習ができる、のならば規則性のない損失関数であっても、ηx<11/k\eta_\mathbf{x} < 1 - 1/kである。

ただし、どうしてもL(f)=ρ>0L(f^*) = \rho > 0になるなら、ノイズで学習したときの損失は0には収束せず、RL(fη)ρ/(1kηmaxk1)R_L(f^*_\eta) \leq \rho / (1-\frac{k \eta_{max}}{k-1})の上界を持つ。

ηx\eta_\mathbf{x}はインスタンス依存のノイズ率であり、一律ではない規則性のない損失でも、同様に11/k1-1/k以下ならば対称な損失関数LLは強い。

定理3

対称な損失関数について、0L(f(x),i)C/(k1)0 \leq L(f(\mathbf{x}), i) \leq C / (k-1)が成り立つとする。この時、RL(f)=0R_L(f^*)=0と完全にフィットできるなら、ηˉij<1ηi\bar{\eta}_{ij} < 1 - \eta_iが成り立つなら、ノイズに強いといえる。

意味は、クラス条件付きのノイズに対しても対称な損失関数は強いということ。

Neural Networkの損失関数

各種の損失について、具体的に書いてみる。CCEはクロスエントロピー損失、MAEは絶対値損失、MSEは二乗損失。

Image in a image block

クロスエントロピー損失では実質1つのみのlogであり、それ以外でも似たように変形できる。

これについて、すべてのクラスにおいての総和を計算すると、

Image in a image block

MAEだけが対称的な損失であるとわかる。他に、MSEも条件は満たしていないが、定理3のかたちのk1i=1kLmse(f(xi),i)2k2k-1 \leq \sum_{i=1}^k L_{mse}(f(\mathbf{x}_i), i) \leq 2k -2が成り立つので、これもこれで強い。

クロスエントロピー損失は損失に弱い。